﻿///***************************************************************
/// 시  스  템 : Updms.Ref.Exe
/// 단위시스템 : REF
/// 계      층 : Execute Layer (Not Transaction)
/// 프로그램명 : Ref2011r_NT
/// 파  일  명 : Ref2011r_NT.cs
/// 설      명 : 기행기 챠트
///***************************************************************
/// 수정ID 일자       이름     내용
///---------------------------------------------------------------
/// CH001  2013-05-09 송시명   최초 작성
///***************************************************************
using System.Data;
using System.EnterpriseServices;
using System.Runtime.InteropServices;

using SMFramework.Data;
using SMFramework.Utility;

namespace Updms.Ref.Exe
{
	[ComVisible(true)]
	[Transaction(TransactionOption.NotSupported)]
	[JustInTimeActivation(true)]
	public class Ref2011r_NT : Base.AppFramework.RuleBase
	{
		public Ref2011r_NT()
		{
		}

		#region GetTotalChart
		/// <summary>
		/// 인원별, 업소별, 요일별 금액, 방문수를 조회한다.(바챠트, 방사챠트)
		/// </summary>
		/// <param name="lo_dp"></param>
		/// <returns></returns>
		[AutoComplete]
		public DataSet GetTotalChart(DataPack lo_dp, string[] dt_name)
		{
			_exeTimeLog.Prepare();
			DataSet ds = new DataSet();

			using (Dac.Ref_Dac_UPDMS_REF_REPORT_Ref2011r _dac = new Dac.Ref_Dac_UPDMS_REF_REPORT_Ref2011r())
			{
				ds.Merge(_dac.GetTotalChart(lo_dp));

				//Dac에서 리턴받은 데이터테이블의 수가 화면에서 넘겨받은 데이터테이블 수보다 같거나 크면
				if (ds.Tables.Count >= dt_name.Length)
				{
					for (int i = 0; i < dt_name.Length; i++)
					{
						string tname = dt_name[i];
						if (string.IsNullOrEmpty(tname))
						{
							tname = "Table" + i.ToString();
						}

						ds.Tables[i].TableName = tname;
					}
				}

				return ds;
			}
		}

		#endregion

	}
}
